Generally, a user of a computer system interacts with a graphical computer application by moving a cursor-controlled pointing device such as a mouse, which in turn moves a pointer on a computer screen. The pointer is moved to various graphical user interface (GUI) target objects on the computer screen, such as menus, menu items, and buttons. When a pointer overlays a target object, the target object may initiate an event to which the computer application responds. In the field of human-computer interaction, this type of interaction is generally known as target acquisition.
A user may have difficulties acquiring a target object. Affecting the ease in which a user can acquire the target object are the target object's size and initial proximity to the pointer. A mathematical model of human-computer interaction first published by Paul Fitts in 1954 and known as Fitts's Law predicts the time required to move to a target object as a function of the distance to and the size of the target object. Fitts's Law establishes that at the same distance a smaller target object requires more time to acquire than a larger target object, and a target object that is further away from a mouse pointer requires more time to acquire than a target object of the same size that is closer to a mouse pointer. Thus, target size and distance are often considered when designing computer-user interfaces for easier computer-human interaction.
Target size and distance were considered by Michael McGuffin, et al., Acquisition of Expanding Targets, ACM Conference on Human Factors in Computing Systems (CHI) 2002, pp. 57-64. However, McGuffin's approach recommends waiting until the pointer is near to a target object (e.g., has completed 90% of the distance to the target object) before the target object is expanded. Furthermore, McGuffin used a single target object, which models a very simplistic case. In practical applications involving multiple potential targets, McGuffin's approach is deficient, and McGuffin does not provide any indication of how predictive logic might be employed to determine which object to expand.
A technique for expanding targets for acquisition is described by Patrick Markus Baudisch in U.S. Pat. No. 7,530,030, which is assigned to Microsoft Corporation of Redmond, Wash. According to Baudisch's abstract, Baudisch's expanded targets “are generated as Voronoi polygons.” The first paragraph of Baudisch's detailed description explains that “targets are [not] obscured by expanded targets, nor [ ] ‘shoved aside.’” Moreover, a purpose of Baudisch's invention “is to expand the targets into available display space, [that is by] not impinging upon other targets” (see detailed description, paragraph 5).
Rather than increasing the size of a target object, however, a solution may increase the size of the activation area surrounding the target object, thereby allowing the target object to be selected when the pointer is within a specified distance of the target object. This solution is further described in U.S. Pat. No. 6,636,244, which is assigned to International Business Machines Corporation of Armonk, N.Y.
Although Apple Computer's MAC OS X Dock control does not address an issue with the acquisition of a target object, the Dock control does address the ease of interaction with a target object after the target object is acquired. The Dock control does so by increasing the size of the target object after the pointer overlaps the target object. Adjacent target objects are also dynamically enlarged as the user moves the pointer within the Dock area. U.S. Pat. No. 7,434,177 assigned to Apple, Inc. of Cupertino, Calif. further describes the Dock control.
Drawbacks of current state of the art systems include not allowing possible target objects to overlap, the necessity of moving a pointer (e.g., via a cursor-control I/O device) to a desired target object (or near to it) prior to the target object being enlarged, and being unable to predict which user-interface item is the desired target object. A further drawback is that enlarging GUI objects necessitates the repositioning of other GUI objects. A system or method that addresses these and other drawbacks would greatly enhance current state-of-the-art computerized systems by enabling the acquisition of target objects more quickly and in a more efficient manner.